ICTSC2018 本戦 問題解説: 繋げて

問題文

192.168.19.10のインターフェースから192.168.19.125にICMPパケットが通らないので通してください。

192.168.19.66のインターフェースから192.168.19.140にICMPパケットが通らないので通してください。

※192.168.19.125と192.168.19.140からもICMPパケットを常に送っております。

情報

IPアドレス: 192.168.19.100 ユーザー: admin パスワード: ospf

問題のゴール状態

192.168.19.10のインターフェースから192.168.19.125にICMPパケットが通る。

192.168.19.66のインターフェースから192.168.19.140にICMPパケットが通る。

解説

トポロジーはこのようになっていました。

 

トポロジーを見て貰えれば分かりますが、ゲートウェイがサブネット外にあります。

よってeth1、eth2ともにサブネットを/27にして、eth1ではパケットにvlanタグがついているのでeth1をvlan56のインターフェースにすることで解決する問題でした。

解き方

192.168.19.125への通し方

eth1のインターフェースでsudo tcpdump -ei eth1を行うと、802.1qタグでVLAN 56がついたARP Requestを見ることができます。

そこで/etc/network/interfacesに書いてあるeth1のインターフェースをeth1.56のインターフェースにすることで、リクエストされている192.168.19.10のARPに応えることが可能となります。

しかし、ARPが来ていた192.168.19.30がサブネット外であるため、192.168.19.125から来たICMPパケットをデフォルトゲートウェイであるeth0に流してしまうので、
eth1のサブネットを/28から/27に直し、/etc/network/interfacesに書いてあるStatic routeを反映します。

これで192.168.19.125に対してICMPパケットが通ります。

192.168.19.140への通し方

eth2においてsudo tcpdump -i eth2を行うとICMP リクエストパケットが来ているがリプライを返していないことがわかります。

sudo tcpdump -i eth0 を行うと192.168.19.100であるeth0のインターフェースよりICMPのリプライを返しています。

そこで/etc/network/interfacesに書いてあるStatic routeが反映されているかip routeを確認すると反映されていないことが分かります。

/etc/network/interfacesに書いてあるStatic routeをコマンドで入力するとNetwork Unreachableと出てきます。

ゲートウェイがルーティングテーブル内にないことが分かり、Static routeのゲートウェイのIPアドレスを確認すると、eth2のサブネット外になっていることがわかります。

eth2のL2内にあるゲートウェイのIPアドレスを調べるために送られてきているICMPパケットのMACアドレスを確認し、ARPテーブルを確認するとStatic routeに書いてあるゲートウェイのIPアドレスがあるので、そのアドレスがサブネット内に来るように計算し、設定を行うとICMPが通るようになります。


ちなみにこの問題はパスワードがospfとなっていたが全く関係なく、L2の調査が出来るかどうかを問う問題でした。